题目描述定义一个二维数组:
1234567int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。
输入一个$5×5$的二维数组,表示一个迷宫。数据保证有唯一解。
输出左上角到右下角的最短路径,格式如样例所示
样例输入123450 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0
样例输出123456789(0,0)(1,0)(2,0)(2,1)(2,2)(2,3)(2,4)(3,4)(4,4)
题解1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253...
题目描述有一天,小哈一个去玩迷宫。但是方向感很不好的小哈很快就迷路了。小哼得知后便立即去解救无助的小哈。小哼当然是有备而来,已经弄清楚了迷宫地图,现在小哼要以最快速度去解救小哈。问题就此开始了…… 迷宫由$n \times m$列的单元格组成,每个单元格要么是空地,要么是障碍物。你的任务是帮助小哼找到一条从迷宫的起点到小哈所在位置的最短路径,注意障碍物是不能走的,当然也不能走到迷宫之外。$n$,$m \le 100$。
输入第一行有两个数$n$和$m$。$n$表示迷宫的行,$m$表示迷宫的列。接来下来$n$行$m$列为迷宫,0表示空地,1表示障碍物。最后一行4个数,前两个数为迷宫入口的$x$和$y$坐标。后两个为小哈的$x$和$y$坐标。
输出一个整数表示小哼到小哈的最短步数。如果不能解救小哈则输出$No Way$!
样例输入1234567891011125 40 0 1 00 0 0 00 0 1 00 1 0 00 0 0 11 1 4 33 31 1 1 0 1 0 0 1 0 2 1 3 3
样例输出127No Way!
题解123456789101112131415...
题目描述小哼通过秘密方法得到一张不完整的钓鱼岛航拍地图。钓鱼岛由一个主岛和一些附属岛屿组成,小哼决定去钓鱼岛探险。下面这个$10*10$的二维矩阵就是钓鱼岛的航拍地图。图中数字表示海拔,0表示海洋,$1~9$都表示陆地。小哼的飞机将会降落在$(6,8)$处,现在需要计算出小哼降落所在岛的面积(即有多少个格子)。注意此处我们把与小哼降落点上下左右相链接的陆地均视为同一岛屿。
输入多组输入$n,m,x,y$
$n<=100$,$m<=100$,$0<x<=n$,$0<y<=m$
其后$n*m$个数字
输出输出面积
样例输入123456789101110 10 6 81 2 1 0 0 0 0 0 2 33 0 2 0 1 2 1 0 1 24 0 1 0 1 2 3 2 0 13 2 0 0 0 1 2 4 0 00 0 0 0 0 0 1 5 3 00 1 2 1 0 1 5 4 3 00 1 2 3 1 3 6 2 1 00 0 3 4 8 9 7 5 0 00 0 0 3 7 8 6 0 1 20 0 ...
题目描述一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,不限时间和步数,当然也没有陷阱,请你判断他能不能顺利的得到宝藏。
输入多组输入每组测试数据的第一行包含了两个整数M,N$(1<N,M<20)$(n=0&&m=0表示输入结束),分别代表了迷宫的行和列。接下来的M每行有N个字符,描述了迷宫的布局。其中每个字符的含义如下:
.表示可以走的路S:表示ACM的出发点G表示宝藏的位置#表示这里有墙,ACM无法进入或者穿过。
输出每行输出一个YES表示ACM能找到宝藏,输出NO表示ACM找不到宝藏。
样例输入123456789104 4 S.#. ..#...#G ..#. 3 4 S.#. ..#....G 0 0
样例输出12NOYES
题解12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include <...
题目描述目前图像识别是一项非常热门的技术,最流行莫不过是深度学习,识率甚至能达到 99\% 以上。当然,对于简单的图像来说深度学习是没有必要的。比如要识别安徽拼音首字母 A和H,就可以不用深度学习就可以判断。现在有一些只含 A或者H的图像,,你知道该如何识别吗?
输入第一行输入 正整数 T,表示数据的组。每组数据中,第一行是两个正整n和 m,$n \le 100$,$m \le 100$,表示图像的大小。接下来有 n行 ,每行m个字符,只可能为 ‘.’ 或者 ‘#’ 。‘.’ 表示白色, ‘#’ 表示黑色。 ‘#’ 会通过上下左右或者连成一个区域,表示A或H字母。数据保证字母在图像内 ,不会有缺失。数据保证图像里只含有A或者H,且除字母外无其它黑色区域。不存在空白 图像或者含有其它内容的数据。注意,字母不一定是正着的有可能斜横或者倒。特别提示:图像一定是白底黑字的,不会存在反色情况。
输出对于每行数据, 输出 ‘Case t: X ’,X表示你所识别出来的字母
样例输入1234513 6######..#.#....#..
样例输出1Case 1: A
题解123456789...
题目描述输入四个数 ABCD 每一个数都在【0,9】之间,每一个数必须用一次,也只能用一次,要求输出四个数组成的算式 【?】【?】【?】X【?】可能的最大值
输入多组输入 每一行有四个整数
A B C D
输出ABC*D的最大值
样例输入121 1 1 21 1 1 1
样例输出12222111
提示1 1 1 2可以组成的算式有很多个
可以组成
$$121*1=121$$
$$211*1=211$$
$$111*2=222$$
可以证明这些数字中222最大
题解1234567891011121314151617181920212223#include <iostream>#include <vector>#include <algorithm>using namespace std;#define endl '\n'int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nul...
题目描述寻找6个数ABCDEF,满足$1<=A<=B<=C<=D<=E<=F<=100$ 且 $A^5+B^5+C^5+D^5+E^5=F^5$
输出所有的解
输出$A B C D E F $用空格分割
题解
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include <iostream>using namespace std;#define endl '\n'using ll = long long;const int N = 100;ll h(int x) { return 1ll * x * x * x * x * x;}ll H[N + 1];void Fill() { for (int i = 0; i <= N; ++i) H[i] = h(i...
题目描述中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
输出给出所有的解,每组解占一行解的顺序:按“字典序”排列,即公鸡数少的在前;公鸡数相同,母鸡数少的在前格式:cock=%d,hen=%d,chicken=%d\n
样例输出1234cock=0,hen=25,chicken=75cock=4,hen=18,chicken=78cock=8,hen=11,chicken=81cock=12,hen=4,chicken=84
提示设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在020之间;同理,y的取值范围在033之间,可得到下面的不定方程:$$5*x+3*y+z/3=100$$$$x+y+z=100$$所以此问题可归结为求这个不定方程的整数解。由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对未知数可变范围的穷举,验证...
题目描述输入5个个位数 ABCDE(至少2个非0),要求按组合出一个三位数和2位数,使得乘积最小,你的任务是输出这个乘积
样例输入11 2 3 4 5
样例输出13185
题解
12345678910111213141516171819202122232425262728293031#include <iostream>#include <algorithm>using namespace std;int num[5];int datas[120];void cal();int main() { scanf("%d%d%d%d%d", &num[0], &num[1], &num[2], &num[3], &num[4]); cal();}void cal() { int num3, num2; int index = -1; for (int i = 0; i < 5; ++i) for (int j = 0; ...
题目描述输入5个个位数 ABCDE(至少2个非0),要求按组合出一个三位数和2位数,使得乘积最大,你的任务是输出这个乘积最大
输入输入5个个位数 ABCDE(至少2个非0)
输出输出这个乘积最大
样例输入10 1 2 3 4
样例输出113120
题解123456789101112#include<iostream>#include <algorithm>using namespace std;int main(){ int n=5; int a[n]; for(int i=0;i<n;i++)cin>>a[i]; sort(a,a+n); cout<<(a[3]*100+a[2]*10+a[0])*(a[4]*10+a[1])<<endl; return 0;}